home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / cobalts.zip / SND2TXT.C < prev    next >
Text File  |  1990-09-03  |  1KB  |  49 lines

  1. /* snd2txt.c by Bill and Erin                 */
  2. /* converts binary musical files of type .SND */
  3. /* to integer arrays for embedding in C code  */
  4.  
  5. #include <stdio.h>
  6.  
  7. main(int argc, char *argv[])
  8. {
  9.    FILE *fp,*fp2;
  10.    char *wordptr;
  11.    int frequency,duration,counter=0;
  12.    char scratchbuffer[128],writebuffer[128];
  13.  
  14.    if(argc!=2)exit(0);
  15.    if((fp=fopen(argv[1],"rb"))==NULL)exit(0);
  16.  
  17.    strcpy(scratchbuffer,argv[1]);
  18.    wordptr=strtok(scratchbuffer,".");
  19.    sprintf(writebuffer,"%s.TXT",scratchbuffer);
  20.    fp2=fopen(writebuffer,"w");
  21.  
  22.    fprintf(fp2,
  23.    "/* musical array created from file %s */\n",argv[1]);
  24.    fprintf(fp2,
  25.    "/* array structure is frequency,duration */\n");
  26.    fprintf(fp2,
  27.    "int %s[]={\n",scratchbuffer);
  28.  
  29.     while((frequency=getw(fp))!=-1){
  30.          duration=fgetc(fp);
  31.          fprintf(fp2,"%5d, %2d,",frequency,duration);
  32.          counter++;
  33.          if(counter==6){
  34.             fprintf(fp2,"\n");
  35.             counter=0;
  36.          }
  37.          }
  38.  
  39.  
  40.    fprintf(fp2,"-1,-1};\n",scratchbuffer);
  41.  
  42.    fclose(fp);
  43.    fclose(fp2);
  44.    exit(0);
  45.  
  46. }
  47.  
  48.  
  49.